#ifndef PARSERXML_H_
#define PARSERXML_H_

#include <iostream>
#include <string.h>

#include "./tinyxml/tinyxml.h"
#include "../modelo/Nivel.h"

using namespace std;
class ParserXML {
private:

	/* Funcion recursiva que recibe un nodo XML, lo interpreata y carga en el 
	 * nivel lo que corresponda 
	 */
	static void hidratarNodo(TiXmlNode* node, Nivel* nivel);

	/* Recibe un elemento XML e instancia el objeto correspondiente */
	static Objeto* instanciarObjeto(TiXmlElement *e);
public:
	ParserXML();
	virtual ~ParserXML();

	/* Recibe un archivo de configuracion de nivel, lo parsea y inicializa el 
	 * nivel n
	 * n tiene que estar instanciado previamente
	 * archivoNivel tiene que existir
	 */
	static void hidratarNivel(Nivel* n, string archivoNivel);
};

#endif
